package com.its.pojo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.ExcelTarget;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
 * <p>
 *
 * </p>
 *
 * @author 朱厚强
 * @since 2024年01月04日
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("bus_survey_info")
@ApiModel(value = "BusSurveyInfo对象", description = "")
@ExcelTarget(value = "busSurveyInfo")
public class BusSurveyInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("主键")
    @TableId(value = "id", type = IdType.AUTO)
    @Excel(name="主键", width = 15)
    private Long id;

    @ApiModelProperty("调度ID")
    @TableField("dispatch_id")
    @Excel(name="调度ID", width = 15)
    private Integer dispatchId;

    @ApiModelProperty("调度对象")
    @TableField(exist = false)
    private BusDispatchInfo busDispatchInfo;

    @ApiModelProperty("报案ID")
    @TableField("claim_report_id")
    @Excel(name="报案ID", width = 15)
    private String claimReportId;

    @ApiModelProperty("报案对象")
    @TableField(exist = false)
    private BusClaimReport busClaimReport;

    @ApiModelProperty("查勘等级一级、二级、三级")
    @TableField("survey_type")
    @Excel(name="查勘等级", replace = {"一级_1", "二级_2", "三级_3"}, width = 15)
    private Integer surveyType;

    @ApiModelProperty("报损金额")
    @TableField("reported_loss")
    @Excel(name="报损金额", width = 15)
    private BigDecimal reportedLoss;

    @ApiModelProperty("预估金额")
    @TableField("estimated_amount")
    @Excel(name="预估金额", width = 15)
    private BigDecimal estimatedAmount;

    @ApiModelProperty("预估费用")
    @TableField("estimated_cost")
    @Excel(name="预估费用", width = 15)
    private BigDecimal estimatedCost;

    @ApiModelProperty("备注")
    @TableField("remark")
    @Excel(name="备注", width = 15)
    private String remark;

    @ApiModelProperty("查勘日期")
    @TableField("survey_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") // 指定日期时间格式
    @Excel(name="查勘日期", databaseFormat = "yyyy-MM-dd HH:mm:ss", format = "yyyy-MM-dd HH:mm:ss", width = 20)
    private LocalDateTime surveyTime;

    @ApiModelProperty("估损数量")
    @TableField("estimated_number")
    @Excel(name="估损数量", width = 15)
    private Integer estimatedNumber;

    @ApiModelProperty("查勘受灾面积")
    @TableField("affected_area")
    @Excel(name="查勘受灾面积", width = 15)
    private Double affectedArea;

    @ApiModelProperty("查勘成灾面积")
    @TableField("affected_confirm_area")
    @Excel(name="查勘成灾面积", width = 15)
    private Double affectedConfirmArea;

    @ApiModelProperty("查勘绝产面积")
    @TableField("production_area")
    @Excel(name="查勘绝产面积", width = 15)
    private Double productionArea;

    @ApiModelProperty("查勘死亡数量")
    @TableField("deaths_number")
    @Excel(name="查勘死亡数量", width = 15)
    private Integer deathsNumber;

    @ApiModelProperty("查勘扑杀数量")
    @TableField("kill_quantity")
    @Excel(name="查勘扑杀数量", width = 15)
    private Integer killQuantity;

    @ApiModelProperty("查勘实际指数")
    @TableField("survey_index")
    @Excel(name="查勘实际指数", width = 15)
    private Integer surveyIndex;

    @ApiModelProperty("记录是否存在")
    @TableField("exist")
    private int exist;
}
